05 蒙特卡洛方法
相关概念与定理
model-based和model-free
前文中提到的值迭代、策略迭代、截断策略迭代均为model-based算法。算法需要先了解模型(状态、行动、奖励)本身的分布,才能基于分布做出决策。与之相对的为model-free算法。
蒙特卡洛方法为model-free算法。
大数定理
对于随机变量X,假设xjj=1N均为独立同分布,令xˉ为样本均值,则有
E[xˉ]=E[X]Var[xˉ]=Var[X]/N
即xˉ是X的无偏估计;N趋于无限时,Var[xˉ]趋于0。
GPI
泛化策略迭代是某种思想,而不是特定的算法。这种思想指算法可以多次在PE和PI中切换,而不要求“一定要完成到某个程度”。(边评估边改进)
Soft Policy
在某个策略中,如果任何行动被采取的概率都是正数,则这种策略是Soft Policy。
MC Basic
基础的蒙特卡洛方法,就是将策略迭代转化为model-free 。
在策略迭代中,有PE、PI两步。在PI中,需要求出qπk,通过qπk来更新策略。而求q的公式是与模型有关的。
蒙特卡洛方法使用qπk的原始定义。
qπk(s,a)=E[Gt∣St=s,At=a]
所以,在模型的具体数据分布不确定时,需要大量的样本(经验)。对于状态(s,a),采取若干次πk策略,会得到若干回报g(s,a),则
qπk(s,a)=E[Gt∣St=s,At=a]≈Σi=1Ng(i)(s,a)/N
MC Basic的具体步骤如下:
- 猜测策略π0
- 迭代
- PE
- 对所有(s,a),基于现有策略进行数次尝试
- 计算回报均值,得到qπk(s,a)
- PI
在每个episode中,理论上走无限步才能得到最准确的q。需要人为设置episode length,在一定步数后停止。直观上,可以将episode length理解为模型探索的半径。episode length需要达到一定值,离出发点较远的状态价值才能被更新,也就是说episode length需要充分长,让模型能探索到最优解;但是不必无限增长。
MC Exploring Starts
MC Basic本身的效率较低,可以进一步推广。
首先,在MC Basic中每次尝试都只能更新最开始那个点;可以对episode中每个(s,t)都计算对应的回报,求平均来得到最终的回报。对于这种优化,又有两种不同策略。
- first-visit method:如果某个(s,t)在同一episode中出现不止一次,则只有第一次(距终点最远时)更新
- every-visit method:每次更新
MC Exploring Starts采用first-visit method。
此外,原有的算法中,必须某个episode结束后才可以进行更新。在MC Exploring Starts中,在episode的每一步都可以进行更新,采用了GPI的思想。
具体步骤如下:
- 猜测策略π0
- 对于每次尝试
- 生成episode
- 初始化g为0
- 对于episode的每一步,从T−1遍历到0
- g=γg+rt+1
- 如果(st,at)未在当前episode中出现
- Returns(st,at)=Returns(st,at)+g
- q(st,at)=average(Returns(st,at))
- 如果新q是最大的,更新π(a∣st)
这种算法要求每个(s,a)都要作为起点一次,在实际中可能很难做到。
MC Epsilon-Greedy Policy
ϵ-greedy policy是一种soft policy。
令ϵ∈[0,1],∣A(s)∣是状态s下可采取的action数量,令
π(a∣s)=⎩⎨⎧1−∣A(s)∣ϵ(∣A(s)∣−1), for the greedy action∣A(s)∣ϵ, for the other actions
这种情况下,每个action都有概率被选到,同时也保证了最好的action有最大的被选择概率。这种算法平衡了exploitation(充分利用)和exploring(探索)。
具体步骤:
- 猜测策略π0
- 对于每次尝试
- 生成episode
- 初始化g为0
- 对于episode的每一步,从T−1遍历到0
- g=γg+rt+1
- Returns(st,at)=Returns(st,at)+g
- q(st,at)=average(Returns(st,at))
- 如果新q是最大的,更新π(a∣st)
在这种情况下,可以使用every-visit,减少episode的数量。由于这种策略具有随机性,整个回合都在进行探索,无法获得“纯净的”、从某个(s,a)开始的样本;此外,生成完整回合成本很高。理论上,ϵ-greedy的估计方法是有偏的,但是在实践中被证明收敛得很好,且带来的效率提升超过了理论的偏差问题。